Unit and a method for handling a data object

ABSTRACT

The present invention relates to a unit and a method for handling a data object that is to be transmitted over a link ( 39, 40, 41, 42 ), said data object being divided into at one least data unit. According to the invention the data unit that is in turn to be transmitted over the link ( 39, 40, 41, 42 ) should be handled differently depending on where a buffer fill level in a buffer ( 33, 34, 35, 36, 37, 38 ) preceding the link ( 39, 40, 41, 42 ) is in relation to at least one buffer threshold ( 51, 52, 53, 54, 55, 56, 57, 58, 59 ) in order to minimise end-to-end delay.

TECHNICAL FIELD OF THE INVENTION

The invention relates in general to a unit and a method for handling adata object that is to be transmitted over a link, said data objectbeing divided into at least one data unit.

DESCRIPTION OF RELATED ART

Traditionally cellular systems, for example the Global System for Mobiletelecommunications (GSM), have been used to transmit speech and theyhave implemented circuit switching. In circuit switching a certainamount of transmission resources is reserved in all the networks throughwhich the connection goes. For data applications there is usually needto transmit bursts of data every now and then. For this kind of datatransmission circuit switching is not an efficient way to transmit data.

General Packet Radio Service (GPRS) is an example of a wireless packetswitched network. It is an addition to the GSM system. Using GPRS it ispossible to provide a certain portion of the radio resources of the GSMradio access network for users who wish to transmit packet data. Thestatistical multiplexing, i.e. the fact that every user is nottransmitting packets at the same time, allows a certain radio channel tobe used efficiently by many users.

Enhanced Data Rate for GSM Evolution (EDGE) is an enhanced version ofGSM that provides circuit switched and packet switched data transmissionat a higher rate than current GSM or GPRS. Different versions areEDGE-based GPRS (EGPRS) and EDGE-based Circuit Switched Data (ECSD).

Protocols are sets of rules with which two points can exchange data in adefined way. Different protocols may be layered, e.g. according to aversion of the general OSI-model.

When sending a data object packet switched, the data object is dividedinto packets. For each layer the packets are embedded into data units ofanother protocol. “Embedding” refers both to the possibility ofencapsulation as well as segmentation. “Data unit” is here used as ageneral name for packets, packet data units, frames, radio blocks or anyother name it may be called in the different protocols.

A problem, especially in radio based systems, is that whole or part ofdata units may be made unrecoverable on the way due to e.g. interferenceor attenuation. This can be solved with retransmission of lost dataunits. Another solution is to add parity bits to the data units. If partof the data unit is unrecoverable it may then be possible to recreate itusing the parity bits. There are more and less complicated ways ofcoding in this way. The more parity bits that are used, the larger partof the data unit may be reconstructed. On the other hand if many paritybits are used, the useful part of the data unit will decrease, thus alsomaking the total transmittal time of an object longer.

In WO 00/24152 there is an invention trying to optimise the coding.First type data units belonging to one and the same higher layer secondtype data unit or a specified send window, are given differentreliability levels depending on if the first type data units are sentfirst or last of the first type data units within said second type dataunit or send window. In the given example this is done on RLC (radiolink control) blocks within the same LLC PDU (logical link controlpacket data unit)). A disadvantage with this is that it is a complicatedsolution, which requires analysis or knowledge of each first type dataunit. This also consumes processor capacity.

SUMMARY OF THE INVENTION

An object with the invention is to shorten end-to-end transmissiondelays in packet transmission networks.

Problems with the solution in WO 00/24152 is that it is complicated andconsuming processor capacity. In the present invention it is realisedthat WO 00/24152 actually is suboptimising the problem and that theproblem can be solved in a simpler and more efficient way.

According to the invention the delay time can be optimised byinvestigating the size of the object to be sent and/or keep track of howmuch data that is remaining to be sent. This is in contrast with WO00/24152, where each and every data unit is analysed.

According to the invention, for small objects the transmission shouldpreferably be made more secure, i.e. more parity bits should be used.This will decrease the risk of retransmission and the total delay willthus be less. The extra bits will of course also cause a delay, but thisdelay will be smaller than a retransmission delay would have been. Forlarger objects, retransmissions will cause less delay, since other dataunits can be sent in the waiting time. Thus, larger objects shouldpreferably be sent with less or no security, to avoid the delay from theextra bits. This is with the possible exception of the end of theobject, which preferably should be sent in a more secure mode followingthe reasoning above.

This is easiest done by using a buffer preceding a link over which dataunits are to be transmitted and setting at least one buffer threshold onthe buffer fill level in said buffer. A data unit that is in turn to betransmitted over the link should then be handled differently dependingon where the buffer fill level is in relation to the at least one bufferthreshold.

Preferably, the link should be made more secure, e.g. by using a codingscheme giving a higher security, if the buffer fill level is below theat least one buffer threshold, than if the buffer fill level is abovesaid at least one buffer threshold. This will enable both that smallerobjects are sent with higher security and that the ends of largerobjects are sent with higher security. There are also other embodiments.

The advantages are that end-to-end transmission delays are shortened ina simple and cheap way.

The invention will now be described in more detail with reference toenclosed drawings.

DESCRIPTION OF THE DRAWINGS

FIGS. 1 a and b shows schematically a problem underlying the invention

FIG. 2 shows parts of a GPRS or EGPRS system

FIG. 3 shows a simplified view of a protocol stack for the system inFIG. 2

FIG. 4 shows an embodiment of the invention

FIG. 5 shows polling for acknowledgement

DESCRIPTION OF PREFERRED EMBODIMENTS

In FIG. 1 a is shown a problem realised for the invention. In a systemincluding a first node A and a second node B, the first node A istransmitting a data object divided into five data units 1, 2, 3, 4, 5 tothe second node B. Let us say that the third data unit 3 never reachesthe second node B. If there is some type of transmission control in thesystem, then the second node B will signal to the first node A that ithas not received the third data unit 3 (negative acknowledgement).Alternatively, the second node B will signal to the first node A thatthe second node B did receive the first, second, fourth and fifth dataunit 1, 2, 4, 5, whereupon the first node A will draw the conclusionthat the second node A did not receive the third data unit 3 (positiveacknowledgement).

This leads to that the first node A will retransmit the third data unit3. Considering that it will take some time before the first node isinformed about the missing data unit, the third data unit 3 will perhapsbe retransmitted after the fifth data unit 5. The second node B can thenreassemble the data units in the right order and have received thecomplete data object with only one cycle delay.

Compare now FIG. 1 b where the data object includes only one data unit11. If that data unit 11 is lost and consequently retransmitted twocycles later, just as in FIG. 1 a, the delay calculated as a percentageof the transmittal time will be much larger than in FIG. 1 a. In FIG. 1a two other data units could be sent while waiting for retransmission ofthe third data unit 3, but in FIG. 1 b there is just useless waitingtime. Note also that if in FIG. 1 a, the fifth and last data unit 5would be lost there will also be useless waiting time, since there areno more data units to send, even though the delay calculated as apercentage of the transmittal time of course still would be less than inFIG. 1 b, since the total object transmitted in FIG. 1 a is much largerthan in FIG. 1 b.

According to the invention the delay time can be optimised byinvestigating the size of the object to be sent and/or keep track of howmuch data that is remaining to be sent. For small objects thetransmission should preferably be made more secure, i.e. more paritybits should be used. This will decrease the risk of retransmission andthe total delay will thus be less. The extra bits will of course alsocause a delay, but this delay will be smaller than a retransmissiondelay would have been, compare FIG. 1 b.

For larger objects, retransmissions will cause less delay, since otherdata units can be sent in the waiting time. Thus, larger objects shouldpreferably be sent with less or no security, to avoid the delay from theextra bits. This is with the possible exception of the end of theobject, which preferably should be sent in a more secure mode followingthe reasoning above.

This is easiest done by using a buffer preceding a link over which dataunits are to be transmitted and setting at least one buffer threshold onthe buffer fill level in said buffer. A data unit that is in turn to betransmitted over the link should then be handled differently dependingon where the buffer fill level is in relation to the at least one bufferthreshold.

Preferably, the link should be made more secure, e.g. by using a codingscheme giving a higher security, if the buffer fill level is below theat least one buffer threshold, than if the buffer fill level is abovesaid at least one buffer threshold. This will enable both that smallerobjects are sent with higher security and that the ends of largerobjects are sent with higher security. There are also other embodiments,which will be described in the detailed example below.

This can be useful in any system. However, the greatest advantages willbe found in radio systems where the radio interface may cause a lot ofdelay. An exemplary implementation in GPRS or EGPRS will be disclosed.It is however to be noted that the invention can be implemented in asimilar way also in other systems, such as UMTS (Universal MobileTelecommunications System) and W-LAN (Wireless Local Area Network).

FIG. 2 presents a schematic diagram of a radio access network 20, whichcan transmit data, and a core network 21. A mobile station (MS) 22, 23,24, 25 communicates with a base transceiver station (BTS) 27, 28—or basestation, for short—over links 39, 40, 41, 42. One or more base stations27, 28 are connected to a base station controller (BSC) 29. The basestation controller is responsible, for example, for allocation of radioresources and for handling handovers, where a mobile station changes thebase station it communicates with. The base stations 27, 28 and basestation controllers 29 are included in a base station system (BSS) 20.

The core network 21 comprises GPRS supporting nodes (GSN) 31, 32. Ofthese nodes, the one which is on the edge towards a data network 30, forexample the Internet, is called a Gateway GPRS supporting node (GGSN)31. Data units may run through many GSNs, which act as routers. A mobilestation, which is the endpoint of the data connection, is reachablethrough one base station controller and the GSN connected to this basestation controller is called Serving GPRS support node (SGSN) 32.

User data is transferred transparently between the mobile station andthe external data networks with a method known as encapsulation andtunnelling: data units are equipped with GPRS-specific protocolinformation and transferred between the mobile station and the GGSN. Inorder to access the GPRS services, a mobile station first makes itspresence known to the network by performing a GPRS attach. Thisoperation establishes a logical link between the mobile station and theSGSN, and makes the mobile station available for, for example, pagingvia SGSN and notification of incoming GPRS data.

The SGSN keeps track of the individual mobile station's location andperforms security functions and access control. The GGSN providesinterworking with external packet-switched networks, and is connectedwith SGSNs via an IP-based GPRS backbone network.

The BSC 29 includes among other things a packet control unit (PCU) 32,which among other things include a number of PCU buffers 33, 34, 35, 36,37, 38. A mobile station communicating with the BSC is assigned one ormore IP addresses e.g. for communication with the Internet. Each IPaddress is associated with an individual PDP (Packet Data Protocol)context in the mobile station, the SGSN and the GGSN. The PDP contextcontains e.g. routing information and Quality of Service parameters.After a PDP context has been set up, a packet flow context (PFC) will beset up between the BSS and the SGSN. Said PFC may work for one or morePDP contexts.

The PCU buffers in a PCU include a cell buffer, which in its turnincludes a number of MS buffers. Each MS buffer may then be divided intoa number of PFC buffers. Each PFC is associated with one PFC buffereach. In the example in FIG. 2 the first mobile station 22 uses two PFCsand thus two PFC buffers 33, 34, while the other mobile stations 23, 24,25 uses one PFC each and thus one PFC buffer 36, 37, 38 each. The PCUbuffers that are of main interest for the present invention are the PFCbuffers, but the MS buffers may also be used.

Functions applying digital data transmission protocols are usuallydescribed as a stack according to the OSI (Open Systems Interface)model, where the tasks of the various layers of the stack, as well asdata transmission between the layers, are exactly defined. FIG. 3presents a simplified view of the protocol layers in GPRS and EGPRS.

The lowest protocol layer between the mobile station and the basestation subsystem is the physical layer (PHYS). Above it, there is aradio link control/media access control (RLC/MAC) layer. On top of itthere is a logical link control (LLC) layer and a Subnetwork DependentConvergence Protocol (SNDCP) layer.

The mobile station includes also higher layers, simplified shown as IPlayer and application layer for communication e.g. with an Internetserver.

Large information blocks from the SNDCP layer are segmented and placedin LLC PDU:s (Packet Data Units). Different frame lengths are possible,but normally the maximum permitted length is 1600 octets. Each LLC PDUincludes parity bits for Automatic Repeat ReQuest (ARQ) on the LLC leveland a frame header (FH) with routing information.

In the LLC layer the LLC PDU is broken up in a number of radio blocks,which also each includes a block header (BH) and parity bits forselective ARQ. Two types of radio blocks are used: data blocks andsignalling blocks.

When the radio blocks are transmitted over the radio interface, a MACheader is attached to the radio block. The transmitted radio blocks arecalled RLC/MAC blocks and are coded. The coding adds redundancy to thedata, and the aim of the coding is to recover the data even if someoccasional transmission errors occurs. In addition to coding, the datais usually also interleaved. This means, for example, that sequentialdata chunks are not sent one after other, but in some other order. Inthis way more bursty transmission errors can be tolerated.

Coding may be made in different ways. For GPRS are defined codingschemes CS-1, CS-2, CS-3 and CS-4 and for EGPRS are defined modulationand coding schemes MCS-1, MCS-2, MCS-3, MCS-4, MCS-5, MCS-6, MCS-7,MCS-8 and MCS-9. The lower the coding scheme number is, the more bitsare used and consequently the more secure and the slower thetransmission becomes. On the other hand, the higher the coding schemenumber is, the less bits are used and consequently the less secure andthe faster the transmission becomes. MCS-9 uses no coding at all.

There exist different modes of Link Quality Control (LQC) to improve theuse of the coding. In GPRS, Link Adaptation (LA) is used. Simplified itworks like this: Let us say that the BSS is sending radio blocks withCS-4. The mobile station measures channel quality and reports with“acknowledge” or “not acknowledge”. If the quality is bad the BSSchanges the coding and starts sending radio blocks with CS-3 instead. Ifthe mobile station then still reports that the quality is bad the BSSchanges the coding and starts sending radio blocks with CS-2 insteadetc.

In EGPRS, Link Adaptation is used combined with Incremental Redundancy(IR). Simplified, IR works like this: The BSS sends data. The mobilestation reports faulty radio blocks, if any, with “not acknowledge”. TheBSS then sends coding bits for the faulty radio blocks. The mobilestation can then combine the coding bits with the original radio blocks.The mobile station reports if faulty radio blocks still exist. If faultyblocks still exist, then the BSS sends more coding bits for the faultyradio blocks. The mobile station can then combine the new coding bitswith the radio blocks etc until the mobile station reports “no faultyradio blocks” or until there are no more coding bits to send. In thelatter case the a retransmission is made and the process starts all overagain.

The disadvantage with these LQC techniques are that there are very muchdelay in the case where a retransmission has to be made.

As described above, the present invention handles the data units in amore flexible way depending on the length of the transmission and if itis the end of the transmission. This is easiest done by checking thefill level of the PCU buffer in the BSC, see FIG. 4. There exist alsobuffers in other units of the system which may be used, in particularthere is a corresponding buffer in the SGSN. It is however consideredmost advantageous to use the PCU buffer in the BSC, considering that itis closest to the radio interface where most of the data loss willoccur. In other systems any suitable buffer in any unit preceding thelink on which the data units are to be transmitted, may be used.

If the PCU buffer fill level is high then it is probably somewhere inthe beginning or middle of a long transmission of a large object andthus the coding can be less secure, according to the reasoning above.Thus, a coding scheme with a higher number should be used.

If on the other hand the PCU buffer fill level is low then it isprobably either a short transmission of a small object or somewhere inthe end of a long transmission of a large object and thus the coding canbe more secure, according to the reasoning above. Thus, a coding schemewith a lower number should be used. To trigger the change of codingscheme, one or more buffer thresholds 51, 52, 53, 54, 55, 56, 57, 58, 59are used in the PCU buffer. The buffer threshold or thresholds may bedefined in e.g. kbytes or data units in the buffer. It is probablyenough to use just one buffer threshold.

Naturally, the invention would work irrespective on what level thebuffer threshold or thresholds are put. To find the best level for thebuffer threshold or thresholds requires some experimentation to achieveoptimal performance. A qualified guess when one buffer threshold isused, could be that the best level might be on a level somewherecorresponding to e.g. 1-3 IP packets, which would roughly be 1-3 LLCPDU's or about 0.5-4.5 kbytes. The buffer threshold needs not be set onwhole LLC PDU's, but might be e.g. 1.5 LLC PDU's.

According to a further embodiment, the coding schemes—or any otherequivalent ways of making a link secure—may also be changed depending onthe radio quality. As an example, let us say that there is one bufferthreshold. When the radio quality is good, then e.g. the coding schemeMCS-5 may be used when the buffer fill level is below the bufferthreshold and the less secure coding scheme MCS-8 may be used when thebuffer fill level is above the buffer threshold. Let us now say that theradio quality becomes much worse. Then the coding schemes both above andbelow the buffer threshold are chosen more secure than before, but stillhaving a coding scheme more secure below the buffer threshold—such asMCS-3, than above the buffer threshold—such as MCS-6. In this embodimentthere is thus also at least one threshold on the radio quality. Withmore than one radio quality threshold, there will be a correspondingnumber of different sets of pairs of coding schemes. Naturally, sets oftriplets, quadruplets etc may be defined in the same way, if there ismore than one buffer threshold, but there is no need to complicatematters unnecessarily.

According to a further embodiment, said buffer threshold or thresholdsmay also be used to select LQC mode, if that is used in the system.Since IR may give very long delays in case of retransmissions, it shouldpreferably not be used when the buffer fill level is low. LA on theother hand may be used irrespective of if the buffer fill level is highor low. When IR is used, a coding scheme with higher number may be usedthan without IR. This is because, when IR is used, the mobile stationsaves earlier sent radio blocks and adds them with retransmitted radioblocks. Thus, fewer coding bits are needed per radio block.

In FIG. 5 is shown schematically the sending of acknowledgements on theRLC/MAC layer. In protocols such as TCP (transmission control protocol)acknowledgements on received packets are sent automatically undercertain rules. However, the RLC/MAC protocol uses polling to fetchacknowledgements, which is seen in FIG. 5: A BSS transmits an object toa mobile station divided into several data blocks RLC/MAC (1)-(16).After e.g. sixteen data blocks the BSS also transmits a polling requestPoll Req. The Mobile station then transmits an acknowledgement on thereceived data blocks, whereupon the BSS retransmits the not acknowledgeddata blocks and it also transmits sixteen new data blocks etc.

According to a further embodiment of the invention this polling shouldbe made more often when the buffer fill level is below the bufferthreshold or threshold. E.g. with one buffer threshold, polling couldperformed every 16^(th) data block when the buffer fill level is abovethe buffer threshold, and every 4^(th) data block when the buffer filllevel is below the buffer threshold. There may also be other equivalentways of making the acknowledgements appear more often than using thepolling.

It is possible for a user of a mobile station to have different types ofsubscriptions with different types of priority. This means that in theradio interface data units for a mobile station with a high priority issent more often than for a mobile station with a lower priority. Thesubscriptions may e.g. be called gold, silver and bronze, where goldgives the highest priority and bronze gives the lowest priority.According to a further embodiment of the present invention, if a firstmobile station with a low priority is involved in a transmission withsaid low priority, then the end of the transmission should be sent withhigher priority. Thus, if the buffer fill level goes below the bufferthreshold, then the remaining data units are sent with higher priority.This will of course cause dips in the transmission performances for theother mobile stations. On the other hand, when the transmission of thefirst mobile station ends, the other mobile station will have morebandwidth to share. Thus, it can be an advantage to sort of “get rid of”the transmission of the first mobile station faster.

According to a further embodiment, in the case when the mobile stationis going to do a handover to another cell, the upper part of the bufferabove at least one buffer threshold should be moved to anothercorresponding buffer in the other cell. To speed up matters said upperpart of the buffer may be considered as not being there already beforethe actual move has taken place. Thus, the remaining part below the atleast one buffer threshold may be treated as the end of a transmissionwith higher security etc.

All these embodiments may of course be combined with each other. Theymay also be combined with the solution in WO 00/24152. The lattercombination may be beneficent especially in GPRS where the sendingwindow is small, but is perhaps of less use in EGPRS, where the sendingwindow is much larger.

The possibility to use links with different security is not unique toGPRS and EGPRS. It is also possible in e.g. UMTS and W-LAN, even ifperhaps not always solved by using different coding schemes. In UMTS,preferably buffers in the radio network controller may be used. Theinvention may of course also be used in systems that today does not havethe possibility to control the security of links, but that would gainadvantages by introducing it.

Further, it is not necessary to only employ the invention on the low OSIlayer exemplified in this description, but it is of course possible toimplement also on other layers.

1. Method for handling a data object that is to be transmitted over alink within a packet communication network, said data object beingdivided into at one least data unit, comprising the steps of: assigninga buffer for storing said data unit to be transmitted over said link;assigning at least one buffer threshold level for said assigned buffer;determining a current buffer fill level for said buffer; and handlingthe data unit that is in turn to be transmitted over the link,differently depending on where said buffer fill level for said buffer isin relation to said at least one buffer threshold level in order tominimise end-to-end delay.
 2. Method according to claim 1, wherein saidstep of handling the data unit further comprises the step of using acoding scheme for security coding of the data unit giving highersecurity for the link, if the buffer fill level is below the at leastone buffer threshold level, than if the buffer fill level is above saidat least one buffer threshold level.
 3. Method according to claim 1,further comprising the step of using coding schemes for security codingof the data unit giving higher security when the radio quality is worsethan at least one radio quality threshold, than when the radio qualityis better than said at least one radio quality threshold.
 4. Methodaccording to claim 1, further comprising the step of polling more oftenfor acknowledgement, when the buffer fill level is below the at leastone buffer threshold level than when the buffer fill level is above theat least one buffer threshold level.
 5. Method according to claim 1,further comprising the step of giving a higher priority for the dataunits using said buffer compared to other data units sharing the samelink, when the buffer fill level is below the at least one bufferthreshold level than when the buffer fill level is above the at leastone buffer threshold level.
 6. Method according to claim 1, furthercomprising the step of using incremental redundancy for the transmissiononly when the buffer fill level is above the at least one bufferthreshold level, when the method is used in an EDGE Based GPRS (EGPRS)system.
 7. Method according to claim 1, further comprising the steps of:moving the upper part of the buffer above at least one threshold toanother buffer; and by treating the lower remaining part of the bufferbelow the at least one threshold as if the upper part had moved, alreadybefore the actual moving has taken place.
 8. A packet communicationsystem arranged to handle a data object that is to be transmitted over alink, said data object being divided into at one least data unit,comprising: a buffer for storing said at least data unit to betransmitted over said link wherein said buffer is assigned with at leastone buffer threshold level; a processor unit for handling the data unitthat is in turn to be transmitted over the link wherein said processorunit further determines a buffer fill level associated with said bufferand handles said data unit differently depending on where said bufferfill level in said buffer is in relation to said at least one bufferthreshold level in order to minimise end-to-end delay.
 9. Unit accordingto claim 8, wherein the unit is arranged to using a more secure link byusing a coding scheme for security coding of the data unit giving highersecurity, if the buffer fill level is below the at least one bufferthreshold level, then if the buffer fill level is above said at leastone buffer threshold level.
 10. Unit according to claim 8, wherein theunit is arranged to use coding schemes for security coding of the dataunit giving higher security when the radio quality is worse than atleast one radio quality threshold, than when the radio quality is betterthan said at least one radio quality threshold.
 11. Unit according toclaim 8, in that the unit is arranged to poll for acknowledgement moreoften, when the buffer fill level is below the at least one bufferthreshold level than when the buffer fill level is above the at leastone buffer threshold level.
 12. Unit according to claim 8, wherein theunit is arranged to give a higher priority for the data units using saidbuffer compared to other data units sharing the same link, when thebuffer fill level is below the at least one buffer threshold level thanwhen the buffer fill level is above the at least one buffer thresholdlevel.
 13. Unit according to claim 8, wherein the unit is arranged tomove the upper part of the buffer above at least one threshold toanother buffer; and arranged to treat the lower remaining part of thebuffer below the at least one threshold as if the upper part had moved,already before the actual moving has taken place.
 14. Unit in an EDGEBased GPRS (EGRPS) system according to claim 8, wherein the unit isarranged to use incremental redundancy for the transmission only whenthe buffer fill level is above the at least one buffer threshold level.15. Unit in a GPRS or an EGPRS system according to claim 8, wherein thebuffer is a mobile station (MS) or packet control unit (PCU) buffer. 16.Unit in a GPRS or an EGPRS system according to claim 8, wherein the unitis a base station, a base station controller, or a serving GPRS supportnode.
 17. Unit in a UMTS system according to claim 8, wherein the unitis a radio network controller.